Method of generating a display for a dynamic simulation model utilizing node and link representations

ABSTRACT

A method of generating a display, or representation, of a simulation model within a graphical user interface (GUI) is described. The simulation model includes a number of objects, which may include state, function, link and modifier objects. The method commences with the display of node representations for at least first and second objects. Thereafter, a link representation, which represents an underlying link object, is selected from a predefined set of link representations to represent a desired relationship condition between the first and second objects. Each link representation of the set is associated with a distinct relationship condition. Each relationship condition may further be defined in terms of an underlying equation. Thereafter, the selected link representation is shown to extend between the respective node representations representing the first and second objects. Thus, the type of relationship condition which exists between the first and second objects is apparent from the link representation which extends between the relevant node representations.

This application is a continuation of U.S. application Ser. No.08/977,848, filed on Nov. 25, 1997 and entitled “A METHOD OF MONITORINGVALUES WITHIN A SIMULATION MODEL, which in turn is a continuation ofU.S. application Ser. No. 08/962,524, filed Oct. 31, 1997 and issuedApr. 18, 2000 as U.S. Pat. No. 6,051,029, entitled “METHOD OF GENERATINGA DISPLAY FOR DYNAMIC SIMULATION MODEL UTILIZING NODE AND LINKREPRESENTATION”.

FIELD OF THE INVENTION

The present invention pertains generally to the field of simulationmodeling. More specifically, the present invention relates to methods ofrepresenting objects within a simulation model.

BACKGROUND OF THE INVENTION

Simulation modeling is commonly used to model systems to perform“what-if” analyses, to optimize system performance and to identifyproblems within systems. Graphical simulation modeling allows a complexsystem to be modeled in an intuitive and visually comprehensible manner,and has found application in wide range of fields, from business tobiological analysis.

The construction of a simulation model typically involves identifyingvarious objects within the system, which are then represented byvariables, equations or both embodied in an “object”. A simulation modelmay be constructed using a graphical user interface (GUI) in which thevarious objects are represented by user-selected icons or otherappropriate graphical representations, and in which theinter-relationships between the objects are represented by links.

A simplified representation of a typical prior art graphical userinterface (GUI) for a graphical simulation model is shown FIG. 1.Specifically, the prior art GUI of FIG. 1 includes a diagram window 10,within which are displayed node representations for various objects of amodeled system. Each of the various objects of the modeled system isshown to be either an entity object 12, an input object 14 or a linkobject 16. Each of the objects typically includes at least one parameter18 which has a parameter name, an assigned value 20 and parameterdocumentation 22 which describes the parameter 18.

Known simulation modeling tools include the Process Charter from ScitorCorporation of Menlo Park, Calif.; PowerSim from Modell Data AS inBergen, Norway (http://www.powersim.com); Ithink and Stella from HighPerformance Systems Incorporated of Hanover, N.H. (http://hps-inc.com);and Extend +BPR from Imagine That! Incorporated of San Jose, Calif.(http://www.imaginethatinc.com). FIG. 2 illustrates a simulation model30 as generated utilizing the Ithink product from High PerformanceSystems, Inc. The simulation model represents a work-in/work-out systemwithin a business. The simulation model 30 is shown to include an object32 that represents “work backlog”, the object 32 being fed by arrivingwork orders 34 and depleted by filled work orders 36. The rate at whichwork orders are fed to the backlog object 32 is determined by an object39, which functions as a “valve” with respect to a pipe by which workorders are fed to the object 32. Similarly, the rate at which workorders are dispensed from the object 32 is dependent upon an object 38which functions as a “valve” for the pipe by which work orders aredispensed from the object 32. The object 38 is shown to receive asinputs the number of workers within the system, as represented by object42, and the weekly productivity of each of these workers, as representedby the input parameter 40. The weekly productivity of the workers isfurther a function of hours per week per worker, represented by object44. The production per hour worked, represented by object 46, is furthershown to influence the weekly productivity per worker. Productivity perhour worked is in turn influenced by an average burnout factor, which isrepresented by an object 48. Various other factors are shown toinfluence the object 48. While the simulation model 30 shown in FIG. 2provides a satisfactory representation of the work-in/work-out system,the model 30 suffers from a number of inefficiencies. Specifically, themathematical structure underlying the model 30 is not readily apparentfrom a viewing of the icons, and can only be guessed at as a result ofthe labels which are attached to the various nodes shown in thesimulation model 30. Further, the numerous icons that are used torepresent objects, inputs, pipes and links (as well as the labelsassociated with each of these icons) result in a cumbersome andcluttered depiction of the modeled system.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention, there is provideda method to generate a display, on a display device, of a simulationmodel including first and second objects between which a relationshipcondition exists. Respective first and second node representations forfirst and second objects are displayed on the display device. Userselection of a link representation, from a set of link representations,to represent the relationship between the first and second objects isdetermined, each link representation in the set being associated with adifferent relationship condition. The selected link representation isdisplayed, on the display device, to represent a relationship conditionbetween the first and second objects. A first link representation of theset of link representations is user selectable to represent a constantrelationship condition between the first and second objects that isindependent of first and second values associated with the first andsecond objects respectively. A second link representation of the set oflink representations is user selectable to represent a proportionalrelationship condition between the first and second objects that isdependent on only the first value associated with the first object.

According to a second embodiment of the present invention, a first linkrepresentation of the set of link representations is user selectable torepresent a first relationship condition between the first and secondobjects that is independent of first and second values associated withthe first and second objects respectively. A second link representationof the set of link representations is user selectable to represent asecond relationship condition between the first and second objects thatis dependent on both the first and second values associated with thefirst and second objects respectively.

According to a third aspect of the present invention, a first linkrepresentation of the set of link representations is user selectable torepresent a first relationship condition between the first and secondobjects that is dependent on only a first value associated with thefirst object. A second link representation of the set of linkrepresentations is user selectable to represent a second relationshipcondition between the first and second objects that is dependent on boththe first value and a second value associate with the first and secondobjects respectively.

Other features of the present invention will be apparent from theaccompanying drawings and from the detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereferences indicate similar elements and in which:

FIG. 1 illustrates a graphical user interface (GUI) utilized in theprior art to generate a display for a simulation model.

FIG. 2 illustrates a representation of a simulation model generatedusing a prior art modeling tool.

FIG. 3 is a diagrammatic representation of simulation modeling softwareaccording to one embodiment of the present invention.

FIG. 4 is a diagrammatic representation of the interaction between thesoftware illustrated in FIG. 3 and GUIs operating on various softwareplatforms.

FIG. 5 illustrates a parameter window which allows a user to view andinput information pertaining to a parameter of a simulation modelaccording to one embodiment of the present invention.

FIG. 6 illustrates three exemplary node representations which may beutilized to represent objects of a simulation model according to thepresent invention.

FIG. 7 illustrates exemplary link representations which may be utilized,according to one embodiment of the present invention, to illustrate arelationship condition between state or function nodes of a simulationmodel.

FIG. 8 illustrates a modifier representation which, according to oneembodiment of the present invention, may be utilized to represent theinfluence of a third node on a relationship condition which existsbetween first and second nodes of a simulation model.

FIG. 9 illustrates an exemplary representation of a simulation modelconstructed utilizing the graphical elements defined according to oneembodiment of the present invention.

FIG. 10 is a flow chart illustrating a method, according to oneembodiment of the present invention, of generating a display of asimulation model.

FIG. 11 is a flow chart illustrating a method, according to oneembodiment of the present invention, of selecting a link representationto represent the relationship condition between two objects within asimulation model.

FIG. 12 is a flow chart illustrating a method, according to oneembodiment of the present invention, of displaying a modifierrepresentation which represents the influence of an object on arelationship condition between a pair of objects.

FIG. 13 is a diagrammatic representation of a computer system withinwhich software, for performing the methodologies discussed above, mayreside and be executed.

DETAILED DESCRIPTION

A method of generating a display for a simulation model including firstand second objects is described. In the following description, for thepurposes of explanation, numerous specific details are set forth inorder to provide a thorough understanding of the present invention. Itwill be evident, however, to one skilled in the art that the presentinvention may be practiced without these specific details.

The present specification describes exemplary methods for representingsimulation models of systems utilizing graphical simulation modelingsoftware. Referring to FIG. 3, there is provided a diagrammaticrepresentation of one exemplary embodiment of simulation modelingsoftware 50 according to the present invention. Specifically, themodeling software 50 comprises a core 52, which may be coded using anobject-oriented language such as the C++ or Java programming languages.Accordingly, the core 52 is shown to comprise classes of objects, namelydiagram objects 54 and other object classes 56-64. As is well knownwithin the art, each object within the core 52 may comprise a collectionof parameters (also commonly referred to as instances, variables orfields) and a collection of methods which utilize the parameters of therelevant object. The functioning and purposes of each of the variousclasses of objects shown in FIG. 3 will become apparent from thedescription that follows. An exploded view of the contents of anexemplary diagram object 66 is provided, from which it can be seen thatthe diagram object 66 includes documentation 68 which provides adescription of the diagram object, a collection of parameters 70, andmethods 72 which may define an equation or a class of equations. Thediagram objects 54 each define a feature or object of a modeled systemwhich is displayed within a diagram window presented by a graphical userinterface (GUI) which interacts with the core 52. According to oneexemplary embodiment of the invention, the diagram objects 54 mayinclude state, function, modifier and link objects which are representedrespectively by state nodes, function nodes, modifier icons and linkicons within the diagram window.

FIG. 4 provides a diagrammatic representation of the core 52, which isshown to be capable of interaction with any one of a number of GUIs.Specifically, the core 52 is shown to interface with a GUI 80 operatingon the Macintosh platform developed by Apple Computer, Inc. ofCupertino, Calif., a GUI 82 operating on either the Windows '98 orWindows NT platforms developed by Microsoft Corporation of Redmond,Wash., or a platform-independent GUI 84 coded in Hyper-Text MarkupLanguage (HTML) or the Java language developed by Sun Microsystems ofMountain View, Calif. Each of the GUIs interacts with the core 52 topresent a diagram window in which icons representative of the diagramobjects 54 are displayed, and in which panels (or windows)representative of objects may be displayed.

Parameters

As discussed with reference to FIG. 3, each object defined within thesoftware core 52 may have at least one parameter associated therewithwhich quantifies the characteristics of the object, and which is usedduring simulation of the modeled system. It will also be appreciatedthat not all objects must include a parameter. In one exemplaryembodiment of the invention, several types of parameters are defined.Firstly, system parameters may be defined for each subject type. Forexample, a system parameter may comprise an initial value for a stateobject, or a coefficient value for a link object. Other parameter typesinclude object parameters and diagram parameters that facilitate easymanipulation of values in simulation operations. Specifically, diagramparameters may be available to all objects, whereas object parametersmay be available to only a single object. For the purposes of thisspecification, the term “parameter value” shall be taken to encompass aninput (initial) value, an output value or any intermediate value of aparameter, unless explicitly stated otherwise.

Referring now to FIG. 5, there is shown a parameter window 90, that maybe generated by any one of the GUIs shown in FIG. 4, and that provides auser with information regarding a parameter and allows the user to inputor specify a value to be attributed to the respective parameter. Themanner by which a parameter window 90 is invoked and constructed withina GUI will be described below. The exemplary parameter window 90 isshown to include four sections, namely a definition section 92, a unitssection 94, a settings section 96 and a range section 98. The definitionsection 92 displays an identifier (or symbol) for the parameter, as wellas an appropriate definition of the parameter. In the illustratedparameter window 90, the parameter is represented by the symbol “C”,which is defined as the coefficient of an equation within a specificobject. The units section 94 displays units used internally and forassessment. For example, a user may input an assessment value, which isconverted to an internal value. The units used for assessment are usedfor a value that is designated as a “working” value in the settingssection 96. If the internal and assessed units are different, aconversion may also be indicated in the units section 94. In theillustrated example, the assessed value is reciprocated and multipliedby a constant K that converts from “hours” assessed to a half-lifecalculation value.

The range section 98 may optionally be used to define upper and lowervalue limits that may be assigned to the parameter. Again, descriptionfields for each of the upper and lower limits are provided.

Graphical Elements

FIGS. 6-8 provide examples of graphical elements which, according to oneexemplary embodiment of the invention, may be utilized to construct adisplay of a simulation model according to the invention. Theillustrated graphical elements are made available by a GUI to a modelbuilder, who is then able to construct a representation of a modeledsystem. In the description which follows, the term “node” is used toreference an icon which is representative of an object. For the purposesof this specification, the term “node” shall however be taken to referto any representation of an object. Accordingly, the terms “node” and“object” should be regarded as interchangeable and synonymous. It willbe appreciated that the graphical elements discussed below are exemplaryand any distinctive graphical elements may be substituted for thegraphical elements discussed below without departing from the spirit ofthe invention.

The graphical elements discussed below with reference to FIGS. 6-8 maybe used to construct a simulation model, such as that shown in FIG. 9.Referring firstly to FIG. 6, there are illustrated examples of two nodetypes, namely a state node 110 and a function node 112. In order todistinguish between state and function nodes 110 and 112, reference willalso be made now to FIG. 9. FIG. 9 illustrates an exemplary simulationmodel 150 that represents a predator-prey system. In the model system,the predators comprise wolves and the prey comprises rabbits.

Referring back to FIG. 6, a state node 110 represents an underlyingstate object defining a condition or state within the modeled system. Inthe representation of the simulation model 150 in FIG. 9, it will benoted that state node represent various conditions within the model.Specifically, a “vegetation” state node 152 represents the state ofvegetation within the model 150, while state nodes 156, 158, 162 and 164respectively represent rabbit and wolf population numbers. The variousobjects underlying the state nodes may comprise one or more parametersand/or one or more equations (or methods) which are effected orinfluenced by links (which may also be termed “arrows”) which feed intothe respective state nodes. For example, the “adult rabbits” state node156 represents an object including a parameter indicating the number ofadult rabbits within the simulation at any specific time.

In summary, a parameter of a state object may be defined as theintegrated sum of all effects acting on the relevant object (which isrepresented by a node representation), each effect being defined by alink object and represented by the link representation feeding into thenode. The quantitative magnitudes of these effects is a function of theparameters of the link objects represented by the link representations,and of the parameters of state objects shown to be “connected” to theopposite ends of such link representations.

Referring to FIG. 6, a function node 112 represents a function objectthat defines an element within the simulation model that is purely afunction of an object within the simulation model. Referring again tothe simulation model 150 shown in FIG. 9, two function nodes 154 and 160are shown respectively to represent objects representing rabbit foodsupply and wolf food supply. Each of the function nodes 156 and 160includes a parameter that is a function of parameters of nodes that areshown by links to feed into the relevant function node. For example, thefunction node 154, which has a parameter whose value represents thequantity of rabbit food available, is shown to be a function of thevegetation node 152. Similarly, the function node 160, which includes aparameter whose value indicates the available quantity of wolf food, isa function of the “adult rabbit” node 156, and the “young rabbit” node158.

FIG. 7 illustrates a set of link representations 118-128 which a modelbuilder may select to represent a relationship condition which existsbetween two objects, represented by nodes, within simulation model. Eachof the link representations 118-128 is associated with and represents adifferent relationship condition. Referring firstly to a “constanteffect” link representation 118, this link representation indicates arelationship condition between first and second objects, represented bythe state nodes 115 and 117 respectively, wherein the first object hasan effect on the second object, and this effect is independent of anyvalues of parameters associated with the first or second node. In oneembodiment the link representation 118 represents the effect as constantover the duration of a simulation operation. The link representation 118is distinguished in that the tail portion of the link representation isspaced from the circle behind the arrowhead. A “proportional effect”link representation 120 represents a relationship condition betweenfirst and second objects wherein the first object has an effect on thesecond object, and the magnitude of this effect is dependent on thevalue of a parameter of the first object, represented by state node 115.

The link representation 120 is distinguished in that the tail portionthereof contacts the circle behind the arrowhead. Referring to FIG. 9,examples of “proportional effect” link representations are indicated at120 a and 120 b. Specifically, the “adult rabbit” state node 156 isshown to have a proportional effect on the “young rabbit” state node 158in that the number of young rabbits will increase in proportion to thenumber of adult rabbits. The same holds true for the link representation120 b, which represents the effect of the “adult wolves” node 162 on the“young wolves” node 164.

An “interaction effect” link representation 122 represents that a firstobject, represented by the state node 115, has an effect on a secondobject, represented by state node 117 and that the effect is dependenton the values of parameters of both the first and second objects. Thelink representation 122 is distinguished in that the tail portion of therepresentation engages the circle, and in that an arcuate line extendsfrom the circle to the state node 117. Referring again to FIG. 9, twoexamples of “interaction effect” link representations are shown at 122 aand 122 b. Specifically, the “adult wolves” node 162 is shown to have aneffect on the “adult rabbits” node 156. Specifically, as indicated bythe “C” in the circle 170, adult wolves consume adult rabbits. The rateor magnitude of this consumption is determined by both the number ofadult wolves and the number of adult rabbits, and the effect of theobject represented by node 162 on the object represented by node 156 isaccordingly dependent on the value of parameters (e.g. populationnumbers) associated with each of these objects respectively. The sameexplanation applies regarding the effect of the object represented bythe “adult wolves” node 162 on the object represented by the “youngrabbits” node 158, between which the “interaction effect” linkrepresentation 122 b extends.

A “constant conversion” link representation 124, shown in FIG. 7,represents that instances of a first object represented by the statenode 115 are converted to instances of a second object represented bythe state node 117. The “constant conversion” link representation 124further represents that the number of instances converted is independentof any values of parameters associated with the first or second object.In one embodiment, the link representation 124 denotes this conversionas being constant, and is not effected by external parameters. The linkrepresentation 124 is characterized in that a tail portion thereof isthickened relative to the tail portion of the “constant effect” linkrepresentation 118, and that this tail portion is spaced from the circlebehind the head of the link representation 124.

A “proportional conversion” link representation 126 represents that anumber of instances of a first object, represented by the state node115, are converted to instances of a second object, represented by thestate node 117. Further, the link representation 126 indicates that thenumber of instances converted is dependent on the number of instances ofthe first object. Referring to FIG. 9, “proportional conversion” linkrepresentations are drawn at 126 a and 126 b. Specifically, the linkrepresentation 126 a represents that instances of an object representedby the “young rabbit” node 158 are converted to instances of an objectrepresented by the “adult rabbit” node 156. Further, the number of youngrabbits (i.e. young rabbit instances) converted to adult rabbits (i.e.adult rabbit instances) is dependent on the number of young rabbitinstances, which exist within the object represented by node 158.Similarly, the number of instances of an object represented by the“young wolves” node 164 that are converted to instances of an objectrepresented by the “adult wolves” node 162 is dependent on the number ofinstances of the object represented by the “young wolves” node 164. Thecircles 172 of the “proportional conversion” link representations 126 aand 126 b are shown to include the letter “S”, which indicates that thetype of conversion that occurs is a change in state. It will beappreciated that any symbol could similarly be included within thecircle of a link representation to provide further information regardingthe type of relationship condition which exists between objectsrepresented by nodes between which a link representation extends.

An “interaction conversion” link representation 128 represents that anumber of instances of a first object, represented by state node 115,are converted to instances of a second object, represented by state node117. Further, the “interaction conversion” link representation 128represents that the number of instances of the first object that areconverted to instances of the second object is dependent upon respectivenumbers of instances of both the first and the second objects. The linkrepresentation 128 is distinguished in that the tail portion isthickened relative to the tail portion of the link representation 122,and that an arcuate line extends from a circle within the representation128 to the state node 117 representing the second object.

From the above description of the link representations 118-128, it willbe noted that each link represents a relationship condition betweenfirst and second objects as being either an “effect” relationship or a“conversion” relationship. Further, each link representation 118-128represents the relationship condition as being either constant,proportional or interactive.

The link representations 118-128 shown in FIG. 7 are exemplary, and anyappropriate link representations can be used to represent the variousrelationship conditions described above. It will be appreciated that therelationship conditions that are represented by the various linkrepresentations 118-128 are typically defined by the model builder. Tothis end, examples of mathematical expressions of relationshipconditions that may be represented by the various link representationsare provided below in Table 1. The mathematical expressions given inTable 1 are for a dynamic simulation model which is driven by theprogression of time. The link representations 118-128 could similarly beused in a static model.

TABLE 1 LINK TYPE RELATIONSHIP CONDITION (EQUATION) Constant Effect Link$\frac{T}{t} = {K + \ldots}$

where T is the target node and K is a constant. Proportional Effect Link$\frac{T}{t} = {{C \cdot {S(t)}^{a}} + \ldots}$

where T is the target node, S is the source node, C is a coefficient,and a is an exponent. Interaction Effect Link$\frac{T}{t} = {{C( {{S(t)}^{a} + {T(t)}^{b}} )} + \ldots}$

where T is the target node, S is the source node, and a and b areexponents. This equation can vary depending on the operation selected inthe parameter dialog. The operations available are S + T, S − T, S*T,T/S, and S/T. The equation shown is for S + T. Constant Conversion Link$\frac{T}{t} = {{K \cdot R} + \ldots}$

$\frac{S}{t} = {{- K} + \ldots}$

where T is the target node, S is the source node, K is a constant, and Ris a conversion ratio. Proportional Conversion Link$\frac{T}{t} = {{{C \cdot R} \cdot {S(t)}^{a}} + \ldots}$

$\frac{S}{t} = {{{- C} \cdot {S(t)}^{a}} + \ldots}$

where T is the target node, S is the source node, C is a coefficient, Ris a conversion ratio, and a is an exponent. Interaction Conversion Link$\frac{T}{t} = {{R \cdot {C( {{S(t)}^{a} + {T(t)}^{b}} )}} + \ldots}$

$\frac{S}{t} = {{- {C( {{S(t)}^{a} + {T(t)}^{b}} )}} + \ldots}$

where T is the target node, S is the source node, a and b are exponents,and R is a conversion ratio. This equation can vary depending on theoperation selected in the parameter dialog. The operations available areS + T, S − T, S*T, T/S, and S/T. The equation shown is for S + T.

As noted above, each of the link representations 118-128 includes acircle in which a graphical identifier providing further informationregarding the relationship condition can be displayed. For example,referring to FIG. 9, each of the link representations is shown tocontain an alphabet letter which provides further information regardingthe relationship condition between two respective objects. A GUI mayalso provide an index table 174, such as shown in FIG. 9, which providesa key to the identifiers displayed in the circles of the various linkrepresentations.

Referring now to FIG. 10, there is shown a flow chart illustrating amethod 180, according to one exemplary embodiment of the invention, ofgenerating a display (or graphical representation) of a simulationmodel. In one embodiment, the steps of method 180 are performed by a GUIin conjunction with the software core 52 illustrated in FIG. 3. Themethod commences at step 182, and proceeds to step 184 where apredetermined set of relationship conditions that may exist betweenobjects in the simulation model are defined. For example, the definedrelationship conditions may comprise the six relationship conditionsdescribed above with reference to FIG. 7, and may be expressed in theform of equations. At step 186, a respective link representation isassociated with each of the relationship conditions in the set. Forexample, the link representations 118-128 may each be associated with adistinct relationship condition, as described above with reference toFIG. 7. Looking now at a minimum construction at step 188, the GUIdisplays node representations, such as state nodes 115 and 117, forfirst and second objects. The display of the node representations occursin response to a user input. At this step a user may also input furtherinformation, such as parameter values, equations and documentation, todefine the diagram objects (i.e. state and/or function objects) such asthose shown at 54 in FIG. 3.

Having thus generated at least two node representations for display bythe GUI, and having defined the objects that underlie these noderepresentations, the user at step 190 then selects a linkrepresentation, from the link representations associated with thepredetermined set of relationship conditions, to represent a desiredrelationship condition between the objects represented by the first andsecond nodes. At step 192, a user may then further define therelationship condition between the objects in terms of equations andparameters. For example, the relationship condition between the objectscould be expressed in terms of a dynamic equation such as any one ofthose provided above in Table 1. Parameters defining the relationshipcondition may be inputted and defined by using a parameter window 90such as that shown in FIG. 5. The user may also optionally specifyfurther information to be included within the link representation. Forexample, the user may specify an identifier to be incorporated withinthe circle of any one of the link representations 118-128 shown in FIG.7. The method 180 then proceeds to step 194, where the GUI displays theselected link representation to show the relationship condition thatexists between the objects represented by the first and second nodes.

The association of different link representations with each distinctrelationship condition of a set is particularly advantageous in that auser viewing a display of a simulation model, such as the simulationmodel 150 in FIG. 9, is able immediately to ascertain and understand therelationships between the objects represented by the nodes withouthaving to “drill-down” into the representation or to access additionalinformation windows. The inclusion of identifiers within the respectivecircles of each of the link representations 118-128, and the provisionof a key 174 for each of the identifiers, further enhances understandingof the display.

FIG. 11 is a flow chart illustrating an exemplary method 190 ofselecting a link representation from a predefined set to represent arelationship condition between objects represented by first and secondnodes within a diagram window. The method 190 commences at the step 200and then proceeds to decision box 202, where a determination is made asto whether the relationship condition between the first and secondobjects is an “effect” relationship or a “conversion” relationship. Ifit is determined that the relationship condition is properly classifiedas an effect relationship, the method proceeds to decision box 204,where a determination is made as to whether the effect is constant. Ifso, an appropriate link representation (e.g. link representation 118) isselected at step 206. If the effect relationship is not constant, themethod 190 proceeds to decision box 208, where a determination is madeas to whether the effect of the one object on the other is dependent onthe value of a parameter associated with one of the objects. If so, themethod proceeds to step 210, where an appropriate link representation(e.g. link representation 120) is selected. Alternatively the method 190proceeds to decision box 212, where a determination is made as towhether the effect of one object on the other is dependent on values ofparameters associated with each of the objects. If so, the method 190proceeds to step 214, where an appropriate link representation (e.g.link representation 122) is selected. From step 214, the methodterminates at step 216.

Returning to decision box 202, if it is determined that the relationshipcondition between the objects is not an “effect” relationship condition,but rather a “conversion” relationship condition, the method proceedsfrom decision box 202 to decision box 218, where a determination is madeas to whether the “conversion” relationship condition requires that aconstant number of instances of one object be converted to instances ofthe other object. If so, the method proceeds to step 220, where anappropriate link representation (e.g. link representation 214) isselected. Alternatively, the method proceeds to decision box 222, wherea determination is made as to whether the “conversion” relationshipcondition specifies that the number of instances of the one object thatare converted to instances of the other object is dependent on thenumber of instances of either one of these objects. If so, the methodproceeds to step 224, where an appropriate link representation (e.g.link representation 126) is selected. Alternately, the method proceedsto decision box 226, where a determination is made as to whether the“conversion” relationship condition requires that the number ofinstances of one object that are converted to instances of the otherobject is dependent on respective numbers of instances in both the firstand second objects. If so, an appropriate link representation (e.g. linkrepresentation 128) is selected. From step 228, the method 190 proceedsto terminate at step 216.

Returning to FIG. 8, a model builder may wish to model a situation wherea relationship condition, represented by a link representation 138,between objects represented by nodes 130 and 132, is influenced by athird object, represented by node 134. According to one embodiment ofthe present invention, overlaying the relevant link representation 138with a modifier representation 136 may represent this influence of thethird object on the relationship condition between the first and secondobjects. The node 134 representing the third object is further shown tofeed into the modifier representation 136 by a link representation 137.The modifier representation 136 includes an identifier that provides anindication of the type of effect the third object has on the relevantrelationship condition. For example, as it is case in FIG. 8, themodifier representation 136 may include a “+” symbol, which may indicatethat the third node has a stimulating effect on the relevantrelationship condition. Referring to FIG. 9, modifier representations136 a and 136 b each include the “+” symbol, which indicates that athird object (i.e. a “rabbit food supply” object) has a stimulatingeffect on the production by “adult rabbits” object instances of “youngrabbits” object instances. The modifier representation 136 represents ananalogous situation with respect to the wolf population in thesimulation model 150.

In one embodiment of the present invention, a modifier representationmay include a “−” symbol to represent that a third object has aninhibiting effect on the relationship condition between a pair ofobjects. Further, a modifier representation may include a “=” symbolwhich indicates that the third object may have either an inhibiting orstimulating effect on the relationship between a pair of objects,dependent on the value of a parameter of the third object. For example,a parameter of the third object could have a certain threshold belowwhich the third object has a stimulating effect on the relationshipcondition and above which the third object has an inhibiting effect onthe relationship condition.

To this end, reference is now made to FIG. 12 which illustrates a method230, according to one embodiment of the invention, of displaying amodifier representation which represents the influence of an object on arelationship condition between a pair of objects. The method commencesat step 232, and proceeds to step 234 where a node representation for athird object of the simulation model is displayed within a diagramwindow in response to a user input. The method then proceeds to decisionbox 236, where determination is made as to whether the third objectinfluences a relationship condition, represented by an appropriate linkrepresentation, between two objects represented in the diagram window byrespective node representations. If not, the method terminates at step238. If so, the method proceeds to decision box 240, where adetermination is made as to whether this influence is inhibiting. If so,a modifier representation including an appropriate identifier (e.g. “−”)is selected at step 242. Alternatively, the method 230 proceeds todecision box 244, where a determination is made as to whether theinfluence is stimulating. If so, a modifier representation, including anappropriate identifier (e.g. “+”) is selected at step 246.Alternatively, the method proceeds to decision box 248, where adetermination is made as to whether the influence is dependent on avalue of a parameter of the third object. If so, a modifierrepresentation including an appropriate identifier (e.g. “=”) isselected at step 252.

The identifiers mentioned above are ,of course, merely exemplary and anysuitable identifier could be included within a modifier representationto advertise a characteristic of an underlying modifier object. Forexample, modifier representations including the “A” or “B” could also beused to identify the underlying modifier object as “allowing” or“blocking” a relationship condition (e.g. an effect or conversionrelationship condition) between a two objects.

From steps 242, 246 or 252, the method 230 proceeds to step 252, wherethe selected modifier representation is overlaid on a linkrepresentation between nodes for the first and second objects, and alink representation is generated between a node representation for thethird object and the modifier representation. The method then terminatesat step 238.

The modifier representation represents an underlying modifier object,which may in turn be expressed in terms of an equation. In oneembodiment, the modifier object may comprise a function of parameterswithin the simulation model. An example of an equation expressing amodifier object is provided below in Table 2.

TABLE 2 Modifier$\frac{T}{t} = {{M \cdot {f( \frac{S(t)}{N} )} \cdot {linkterm}} + \ldots}$

where T is the target node, M is a multiplier constant, N is anormalization constant, f() is a function, either linear or specified bya transformation curve, and link term is the a link term. Note thatmodifiers also have an additive or multiplicative setting; this settingspecifies whether multiple modifiers on a link should add or multiplytheir terms together before being multiplied by the link term.

In Table 2, the “linkterm” expression refers to an equation which isembodied in a link object to express a relationship condition betweentwo objects. Examples of such equations are provided above in Table 1 inthe “RELATIONSHIP CONDITION (EQUATION)” column.

Computer System

FIG. 13 shows a diagrammatic representation of a computer system 500within which software for performing the methodologies discussed above,and for generating a GUI according to the teachings of the presentinvention, may operate. The computer system 500 includes a processor502, a main memory 503 and a static memory 504, which communicate via abus 506. This system 500 is further shown to include a video displayunit 508 (e.g., a liquid crystal display (LCD) or a cathode ray tube(CRT)) on which a GUI according to the present invention may bedisplayed. The computer system 500 also includes an alpha-numeric inputdevice 510 (e.g. a keyboard), a cursor control device 512 (e.g. amouse), a disk drive unit 514, a signal generation device 516 (e.g. aspeaker) and a network interface device 518. The disk drive unit 514includes a computer-readable medium 515 on which software 520 forexecuting each methodology described above and for generating thevarious graphic elements comprising the invention is stored. Thesoftware 520 is also shown to reside, completely or at least partially,within the main memory 503 and/or within the processor 502. The software520 may further be transmitted or received via the network interfacedevice 518. For the purposes of this specification, the term“computer-readable medium” shall be taken to include any medium which iscapable of storing or encoding a sequence of instructions for performingthe methodologies of the present invention, and shall be taken toincluded, but not be limited to, optical and magnetic disks, and carrierwave signals.

Thus, a method of generating a display of a simulation model includingfirst and second objects has been described. Although the presentinvention has been described with reference to specific exemplaryembodiments, it will be evident that various modifications and changesmay be made to these embodiments without departing from the broaderspirit and scope of the invention. Accordingly, the specification anddrawings are to be regarded in an illustrative rather than a restrictivesense.

What is claimed is:
 1. A method of generating a display, on a displaydevice, of a simulation model including first and second objects betweenwhich a relationship condition exists, the method including: displaying,on the display device, respective first and second node representationsfor the first and second objects; determining user selection of a linkrepresentation from a set of link representations to represent therelationship condition between the first and second objects, each linkrepresentation in the set being associated with a different relationshipcondition; and displaying, on the display device, the selected linkrepresentation to represent the relationship condition between the firstand second objects; wherein a first link representation of the set oflink representations is user selectable to represent a constantrelationship condition between the first and second objects that isindependent of first and second values associated with the first and thesecond objects respectively and a second link representation of the setof link representations is user selectable to represent a proportionalrelationship condition between the first and the second objects that isdependent on only the first value associated with the first object. 2.The method of claim 1 wherein the determining of the user selection ofthe link representation comprises determining user selection of aneffect link to represent that the first object has an effect on thesecond object.
 3. The method of claim 2 wherein the determining of theuser selection of the link representation comprises determining userselection of the effect link representation to represent the effect asbeing dependent on a parameter value.
 4. The method of claim 3 whereinthe parameter value is a value associated with a link object describingthe relationship condition between the first and second objects andrepresented by the effect link representation.
 5. The method of claim 3wherein the parameter value is a value associated with either the firstor the second object.
 6. The method of claim 2 wherein the determiningof the user selection of the link representation comprises determininguser selection of the effect link representation to represent the effectof the first object on the second object as being independent of anyvalues of parameters associated with the first or second object.
 7. Themethod of claim 2 wherein the determining of the user selection of thelink representation comprises determining user selection of the effectlink representation to represent the effect of the first object on thesecond object as being dependent to a value of a parameter of the firstobject.
 8. The method of claim 2 including providing an identificationof the type of effect the first object has on the second object.
 9. Themethod of claim 1 wherein the determining of the user selection of thelink representation comprises determining user selection of a conversionlink representation that represents that instances of the first objectrepresented by the first node are converted to instances of the secondobject represented by the second node.
 10. The method of claim 9 whereinthe determining of the user selection of the link representationcomprises determining user selection of the conversion representation torepresent the conversion as being dependent on a parameter value. 11.The method of claim 10 wherein the parameter value is a value associatedwith a link object describing the relationship condition between thefirst and second objects and represented by the conversion linkrepresentation.
 12. The method of claim 10 wherein the parameter valueis a value associated with either the first or the second object. 13.The method of claim 9 wherein the determining of the user selection ofthe link representation comprises determining user selection of theconversion link representation to represent the conversion as beingindependent of any values of parameters associated with the first orsecond object.
 14. The method of claim 9 wherein the determining of theuser selection of the link representation comprises determining userselection of the conversion link representation to represent theconversion as being dependent on a value of a parameter of the firstobject.
 15. The method of claim 9 including providing an identificationof the type of conversion by which instances of the first object areconverted to instances of the second object.
 16. The method of claim 1including determining user selection of a modifier representation torepresent an influence of a third object on the relationship conditionbetween the first and second objects, and displaying, on the displaydevice, the modifier representation to represent the influence of thethird object on the relationship condition between the first and secondobjects.
 17. The method of claim 16 including determining user selectionof a modifier representation to represent the third object as having aneffect on the relationship condition between the first and secondobjects dependent on a value of at least one parameter.
 18. The methodof claim 17 wherein the at least one parameter is a parameter includedwithin a modifier object represented by the modifier representation. 19.The method of claim 17 wherein the at least one parameter is a parameterincluded within the third object.
 20. The method of claim 16 includingproviding, in association with the modifier representation, anidentification of the type of effect the third object has on therelationship condition between the first and second objects.
 21. Amethod of presenting a set of link representations to represent arelationship condition between first and second objects of a simulationmodel, the method comprising: recording a definition of a set ofrelationship conditions between objects within the simulation model;recording an assignment of a respective link representation to eachrelationship condition of the set of relationship conditions, so as todefine a set of link representations; and presenting the set of linkrepresentations on a display device for selection by a user to representthe relationship condition between the first and second objects of thesimulation model, wherein a first link representation of the set of linkrepresentations is user selectable to represent a first relationshipcondition between the first and second objects that is independent offirst and second values associated with the first and the second objectsrespectively, and a second link representation of the set of linkrepresentations is user selectable to represent a second relationshipcondition between the first and the second objects that is dependent ononly the first value associated with the first object.
 22. The method ofclaim 21 wherein the recording of the definition comprises recording adefinition of the first object as having an effect on the second object.23. The method of claim 22 wherein the recording of the definitioncomprises recording a definition of the effect as being dependent on aparameter value.
 24. The method of claim 21 wherein the recording of thedefinition comprises recording a definition of instances of the firstobject as being converted to instances of the second object.
 25. Themethod of claim 24 wherein the recording of the definition comprisesrecording a definition of the conversion as being dependent on aparameter value.
 26. The method of claim 21 including recording adefinition of a modifier representation to represent an influence of athird object on the relationship condition between the first and secondobjects, and presenting the modifier representation on the displaydevice for selection by a user to represent the influence of the thirdobject on the relationship condition between the first and secondobjects.
 27. A computer-readable medium storing a sequence ofinstructions which, when executed by a processor, cause the processor toperform the steps of: displaying respective first and second noderepresentations of the first and second objects on a display device;presenting a set of link representations for selection by a user torepresent the relationship condition between the first and secondobjects, each link representation in the set being associated with adifferent relationship condition; and displaying a user-selected linkrepresentation to represent the relationship condition between the firstand second objects, wherein a first link representation of the set oflink representations is user selectable to represent a constantrelationship condition between the first and second objects that isindependent of first and second values associated with the first and thesecond objects respectively, and a second link representation of the setof link representations is user selectable to represent a proportionalrelationship condition between the first and the second objects that isdependent on only the first value associated with the first object. 28.A computer-readable medium storing a sequence of instructions that, whenexecuted by a processor, cause the processor to perform the steps of:identifying a set of potential relationship conditions between objectswithin the simulation model; recording an assignment of a respectivelink representation to each relationship condition of the set ofpotential relationship conditions, so as to define a set of linkrepresentations; and presenting the set of link representations on adisplay device for selection by a user to represent the relationshipcondition between first and second objects of the simulation model,wherein a first link representation of the set of link representationsis user selectable to represent a constant relationship conditionbetween the first and second objects that is independent of first andsecond values associated with the first and the second objectsrespectively, and a second link representation of the set of linkrepresentations is user selectable to represent a proportionalrelationship condition between the first and the second objects that isdependent on only the first value associated with the first object. 29.A system to generate a display, on a display device, of a simulationmodel including first and second objects between which a relationshipcondition exists, the system including: core logic to interpret userselection of a link representation from a set of link representations torepresent the relationship condition between the first and secondobjects, each link representation in the set being associated with adifferent relationship condition; and display logic to display, on thedisplay device, respective first and second node representations for thefirst and second objects and to display the selected link representationto represent the relationship condition between the first and secondobjects, wherein a first link representation of the set of linkrepresentations is user selectable to represent a first relationshipcondition between the first and second objects that is independent offirst and second values associated with the first and the second objectsrespectively, and a second link representation of the set of linkrepresentations is user selectable to represent a second relationshipcondition between the first and the second objects that is dependent ononly the first value associated with the first object.
 30. The logic ofclaim 29 wherein the core logic determines user selection of an effectfirst link representation to represent that the first object has aneffect on the second object.
 31. The logic of claim 29 wherein the corelogic determines user selection of a conversion link representation torepresent that instances of the first object represented by the firstnode are converted to instances of the second object represented by thesecond node.
 32. A system to present, on a display device, a set of linkrepresentations to represent a relationship condition between first andsecond objects in a display of a simulation model, the systemcomprising: core logic to record a definition of a set of relationshipconditions between objects within the simulation model and to record theassignment of a respective link representation to each relationshipcondition of the set of relationship conditions, so as to define a setof link representations; and display logic to present, on the displaydevice, the set of link representations on a display device forselection by a user to represent the relationship condition between thefirst and second objects of the simulation model, wherein a first linkrepresentation of the set of link representations is user selectable torepresent a first relationship condition between the first and secondobjects that is independent of first and second values associated withthe first and the second objects respectively, and a second linkrepresentation of the set of link representations is user selectable torepresent a second relationship condition between the first and thesecond objects that is dependent on only the first value associated withthe first object.
 33. A system to generate a display, on a displaydevice, of a simulation model including first and second objects betweenwhich a relationship condition exists, the system including: first meansfor detecting user selection of a link representation from a set of linkrepresentations to represent the relationship condition between thefirst and second objects, each link representation in the set beingassociated with a different relationship condition; and second means fordisplaying, on the display device, respective first and second noderepresentations for the first and second objects and for display theselected link representation to represent the relationship conditionbetween the first and second objects, wherein a first linkrepresentation of the set of link representations is user selectable torepresent a first relationship condition between the first and secondobjects that is independent of first and second values associated withthe first and the second objects respectively, and a second linkrepresentation of the set of link representations is user selectable torepresent a second relationship condition between the first and thesecond objects that is dependent on only the first value associated withthe first object.
 34. A system to present, on a display device, a set oflink representations to represent a relationship condition between firstand second objects in a display of a simulation model, the logiccomprising: first means for recording a definition of a set ofrelationship conditions between objects within the simulation model andfor recording an assignment of a respective link representation to eachrelationship condition of the set of relationship conditions, so as todefine a set of link representations; and second means for presenting,on the display device, the set of link representations on a displaydevice for selection by a user to represent the relationship conditionbetween the first and second objects of the simulation model, wherein afirst link representation of the set of link representations is userselectable to represent a first relationship condition between the firstand second objects that is independent of first and second valuesassociated with the first and the second objects respectively, and asecond link representation of the set of link representations is userselectable to represent a second relationship condition between thefirst and the second objects that is dependent on only the first valueassociated with the first object.
 35. A method of generating a display,on a display device, of a simulation model including first and secondobjects between which a relationship condition exists, the methodincluding: displaying, on the display device, respective first andsecond node representations for the first and second objects;determining user selection of a link representation from a set of linkrepresentations to represent the relationship condition between thefirst and second objects, each link representation in the set beingassociated with a different relationship condition; and displaying, onthe display device, the selected link representation to represent therelationship condition between the first and second objects; wherein afirst link representation of the set of link representations is userselectable to represent a constant relationship condition between thefirst and second objects that is independent of first and second valuesassociated with the first and the second objects respectively, and asecond link representation of the set of link representations is userselectable to represent an interaction relationship condition betweenthe first and the second objects that is dependent on both the first andsecond values associated with the first and second objects respectively.36. The method of claim 35 wherein the determining of the user selectionof the link representation comprises determining user selection of aneffect link to represent that the first object has an effect on thesecond object.
 37. The method of claim 36 wherein the determining of theuser selection of the link representation comprises determining userselection of the effect link representation to represent the effect ofthe first object on the second object as being independent of any valuesof parameters associated with the first or second object.
 38. The methodof claim 36 wherein the determining of the user selection of the linkrepresentation comprises determining user selection of the effect linkrepresentation to represent the effect of the first object on the secondobject as being dependent on respective values of parameters of both thefirst and second objects.
 39. The method of claim 35 wherein thedetermining of the user selection of the link representation comprisesdetermining user selection of a conversion link representation thatrepresents that instances of the first object represented by the firstnode are converted to instances of the second object represented by thesecond node.
 40. The method of claim 39 wherein the determining of theuser selection of the link representation comprises determining userselection of the conversion link representation to represent theconversion as being independent of any values of parameters associatedwith the first or second object.
 41. The method of claim 39 wherein thedetermining of the user selection of the link representation comprisesdetermining user selection of the effect link representation torepresent the conversion as being dependent on values of parameters ofboth the first and second objects.
 42. A method of presenting a set oflink representations to represent a relationship condition between firstand second objects of a simulation model, the method comprising:recording a definition of a set of relationship conditions betweenobjects within the simulation model; recording an assignment of arespective link representation to each relationship condition of the setof relationship conditions, so as to define a set of linkrepresentations; and presenting the set of link representations on adisplay device for selection by a user to represent the relationshipcondition between the first and second objects of the simulation model,wherein a first link representation of the set of link representationsis user selectable to represent a first relationship condition betweenthe first and second objects that is independent of first and secondvalues associated with the first and the second objects respectively,and a second link representation of the set of link representations isuser selectable to represent a second relationship condition between thefirst and the second objects that is dependent on both the first andsecond values associated with the first and second objects respectively.43. The method of claim 42 wherein the recording of the definitioncomprises recording a definition of the first object as having an effecton the second object.
 44. The method of claim 43 wherein the recordingof the definition comprises recording a definition of the effect asbeing dependent on a parameter value.
 45. The method of claim 42 whereinthe recording of the definition comprises recording a definition ofinstances of the first object as being converted to instances of thesecond object.
 46. A computer-readable medium storing a sequence ofinstructions which, when executed by a processor, cause the processor toperform the steps of: displaying respective first and second noderepresentations of the first and second objects on a display device;presenting a set of link representations for selection by a user torepresent the relationship condition between the first and secondobjects, each link representation in the set being associated with adifferent relationship condition; and displaying a user-selected linkrepresentation to represent the relationship condition between the firstand second objects, wherein a first link representation of the set oflink representations is user selectable to represent a constantrelationship condition between the first and second objects that isindependent of first and second values associated with the first and thesecond objects respectively, and a second link representation of the setof link representations is user selectable to represent an interactionrelationship condition between the first and the second objects that isdependent on both the first and second values associated with the firstand second objects respectively.
 47. A computer-readable medium storinga sequence of instructions that, when executed by a processor, cause theprocessor to perform the steps of: identifying a set of potentialrelationship conditions between objects within the simulation model;recording an assignment of a respective link representation to eachrelationship condition of the set of potential relationship conditions,so as to define a set of link representations; and presenting the set oflink representations on a display device for selection by a user torepresent the relationship condition between first and second objects ofthe simulation model, wherein a first link representation of the set oflink representation is user selectable to represent a constantrelationship condition between the first and second objects that isindependent of first and second values associated with the first and thesecond objects respectively, and a second link representation of the setof link representations is user selectable to represent an interactionrelationship condition between the first and the second objects that isdependent on both the first and second values associated with the firstand second objects respectively.
 48. A system to generate a display, ona display device, of a simulation model including first and secondobjects between which a relationship condition exists, the systemincluding: core logic to interpret user selection of a linkrepresentation from a set of link representations to represent therelationship condition between the first and second objects, each linkrepresentation in the set being associated with a different relationshipcondition; and display logic to display, on the display device,respective first and second node representations for the first andsecond objects and to display the selected link representation torepresent the relationship condition between the first and secondobjects, selectable to represent a first relationship condition betweenthe first and second objects that is independent of first and secondvalues associated with the first and the second objects respectively,and a second link representation of the set of link representations isuser selectable to represent a second relationship condition between thefirst and the second objects that is dependent on both the first andsecond values associated with the first and second objects respectively.49. The logic of claim 48 wherein the core logic determines userselection of an effect first link representation to represent that thefirst object has an effect on the second object.
 50. The logic of claim48 wherein the core logic determines user selection of a conversion linkrepresentation to represent that instances of the first objectrepresented by the first node are converted to instances of the secondobject represented by the second node.
 51. A system to present, on adisplay device, a set of link representations to represent arelationship condition between first and second objects in a display ofa simulation model, the system comprising: core logic to record adefinition of a set of relationship conditions between objects withinthe simulation model and to record the assignment of a respective linkrepresentation to each relationship condition of the set of relationshipconditions, so as to define a set of link representations; and displaylogic to present, on the display device, the set of link representationson a display device for selection by a user to represent therelationship condition between the first and second objects of thesimulation model, wherein a first link representation of the set of linkrepresentations is user selectable to represent a first relationshipcondition between the first and second objects that is independent offirst and second values associated with the first and the second objectsrespectively, and a second link representation of the set of linkrepresentations is user selectable to represent a second relationshipcondition between the first and the second objects that is dependent onboth the first and second values associated with the first and secondobjects respectively.
 52. A method of generating a display, on a displaydevice, of a simulation model including first and second objects betweenwhich a relationship condition exists, the method including: displaying,on the display device, respective first and second node representationsfor the first and second objects; determining user selection of a linkrepresentation from a set of link representations to represent therelationship condition between the first and second objects, each linkrepresentation in the set being associated with a different relationshipcondition; and displaying, on the display device, the selected linkrepresentation to represent the relationship condition between the firstand second objects; wherein a first link representation of the set oflink representations is user selectable to represent a firstrelationship condition between the first and the second objects that isdependent on only a first value associated with the first object, and asecond link representation of the set of link representations is userselectable to represent a second relationship condition between thefirst and the second objects that is dependent on both the first valueand a second value associated with the first and second objectsrespectively.
 53. The method of claim 52 wherein the determining of theuser selection of the link representation comprises determining userselection of an effect link to represent that the first object has aneffect on the second object.
 54. The method of claim 53 wherein thedetermining of the user selection of the link representation comprisesdetermining user selection of the effect link representation torepresent the effect of the first object on the second object as beingdependent to a value of a parameter of the first object.
 55. The methodof claim 53 wherein the determining of the user selection of the linkrepresentation comprises determining user selection of the effect linkrepresentation to represent the effect of the first object on the secondobject as being dependent on respective values of parameters of both thefirst and second objects.
 56. The method of claim 52 wherein thedetermining of the user selection of the link representation comprisesdetermining user selection of a conversion link representation thatrepresents that instances of the first object represented by the firstnode are converted to instances of the second object represented by thesecond node.
 57. The method of claim 56 wherein the determining of theuser selection of the link representation comprises determining userselection of the conversion link representation to represent theconversion as being dependent on a value of a parameter of the firstobject.
 58. The method of claim 56 wherein the determining of the userselection of the link representation comprises determining userselection of the effect link representation to represent the conversionas being dependent on values of parameters of both the first and secondobjects.
 59. A method of presenting a set of link representations torepresent a relationship condition between first and second objects of asimulation model, the method comprising: recording a definition of a setof relationship conditions between objects within the simulation model;recording an assignment of a respective link representation to eachrelationship condition of the set of relationship conditions, so as todefine a set of link representations; and presenting the set of linkrepresentations on a display device for selection by a user to representthe relationship condition between the first and second objects of thesimulation model, wherein a first link representation of the set of linkrepresentations is user selectable to represent a first relationshipcondition between the first and the second objects that is dependent ononly the first value associated with the first object, and a second linkrepresentation of the set of link representations is user selectable torepresent a second relationship condition between the first and thesecond objects that is dependent on both the first and second valuesassociated with the first and second objects respectively.
 60. Themethod of claim 59 wherein the recording of the definition comprisesrecording a definition of the first object as having an effect on thesecond object.
 61. The method of claim 60 wherein the recording of thedefinition comprises recording a definition of the effect as beingdependent on a parameter value.
 62. The method of claim 59 wherein therecording of the definition comprises recording a definition ofinstances of the first object as being converted to instances of thesecond object.
 63. The method of claim 62 wherein the recording of thedefinition comprises recording a definition of the conversion as beingdependent on a parameter value.
 64. A computer-readable medium storing asequence of instructions which, when executed by a processor, cause theprocessor to perform the steps of: displaying respective first andsecond node representations of the first and second objects on a displaydevice; presenting a set of link representations for selection by a userto represent the relationship condition between the first and secondobjects, each link representation in the set being associated with adifferent relationship condition; and displaying a user-selected linkrepresentation to represent the relationship condition between the firstand second objects, wherein a first link representation of the set oflink representations is user selectable to represent a firstrelationship condition between the first and the second objects that isdependent on only the first value associated with the first object, anda second link representation of the set of link representations is userselectable to represent a second relationship condition between thefirst and the second objects that is dependent on both the first andsecond values associated with the first and second objects respectively.65. A computer-readable medium storing a sequence of instructions that,when executed by a processor, cause the processor to perform the stepsof: identifying a set of potential relationship conditions betweenobjects within the simulation model; recording an assignment of arespective link representation to each relationship condition of the setof potential relationship conditions, so as to define a set of linkrepresentations; and presenting the set of link representations on adisplay device for selection by a user to represent the relationshipcondition between first and second objects of the simulation model,wherein a first link representation of the set of link representationsis user selectable to represent a first relationship condition betweenthe first and the second objects that is dependent on only the firstvalue associated with the first object, and a second link representationof the set of link representations is user selectable to represent asecond relationship condition between the first and the second objectsthat is dependent on both the first and second values associated withthe first and second objects respectively.
 66. A system to generate adisplay, on a display device, of a simulation model including first andsecond objects between which a relationship condition exists, the systemincluding: core logic to interpret user selection of a linkrepresentation from a set of link representations to represent therelationship condition between the first and second objects, each linkrepresentation in the set being associated with a different relationshipcondition; and display logic to display, on the display device,respective first and second node representations for the first andsecond objects and to display the selected link representation torepresent the relationship condition between the first and secondobjects, wherein a first link representation of the set of linkrepresentations is user selectable to represent a first relationshipcondition between the first and the second objects that is dependent ononly the first value associated with the first object, and a second linkrepresentation of the set of link representations is user selectable torepresent a second relationship condition between the first and thesecond objects that is dependent on both the first and second valuesassociated with the first and second objects respectively.
 67. The logicof claim 66 wherein the core logic determines user selection of aneffect first link representation to represent that the first object hasan effect on the second object.
 68. The logic of claim 66 wherein thecore logic determines user selection of a conversion link representationto represent that instances of the first object represented by the firstnode are converted to instances of the second object represented by thesecond node.
 69. A system to present, on a display device, a set of linkrepresentations to represent a relationship condition between first andsecond objects in a display of a simulation model, the systemcomprising: core logic to record a definition of a set of relationshipconditions between objects within the simulation model and to record theassignment of a respective link representation to each relationshipcondition of the set of relationship conditions, so as to define a setof link representations; and display logic to present, on the displaydevice, the set of link representations on a display device forselection by a user to represent the relationship condition between thefirst and second objects of the simulation model, wherein a first linkrepresentation of the set of link representations is user selectable torepresent a first relationship condition between the first and thesecond objects that is dependent on only the first value associated withthe first object, and a second link representation of the set of linkrepresentations is user selectable to represent a second relationshipcondition between the first and the second objects that is dependent onboth the first and second values associated with the first and secondobjects respectively.